﻿using System;
using System.Collections.Generic;
using System.Text;
using AMS.DataAccess.BO;
using AMS.DataAccess.Filters;
using AMS.DataAccess.Common;

namespace AMS.DataAccess.Interfaces
{
    public interface ICustomerManager
    {
        List<CustomerInfo> GetMyPagedCustomers(CallContext context, int pageIndex, int pageSize);
        List<CustomerInfo> GetMyPagedCustomers(CallContext context, int pageIndex, int pageSize, out int totalCount);
        CustomerInfo GetCustomer(int customerId);
        List<CustomerInfo> GetPagedCustomers(CallContext context, CustomerFilter filter, int pageIndex, int pageSize);
        List<CustomerInfo> GetPagedCustomers(CallContext context, CustomerFilter filter, int pageIndex, int pageSize, out int totalCount);
        int AddCustomer(CallContext context, CustomerInfo customer);
        int UpdateCustomer(CallContext context, CustomerInfo customer);
        int DeleteCustomer(CallContext context, int []customerIds);
        List<CustomerInfo> GetCustomerSimpleList(CallContext cotext, QuerySimpleCustomerFilter filter);
    }
}
